home *** CD-ROM | disk | FTP | other *** search
-
- ;Include file for TASM by John M. Majkrzak CIS# 76617,264
-
- include equates.asm
-
- m_Z macro regs
- irp reg, <regs>
- xor reg,reg ;Set register to zero.
- endm
- endm
-
- m_DoServ macro ServNum, ServInt
- ;perform service interrupt. AH is destroyed.
- irp rList, < <ServNum>, <ServInt> >
- ifb <rList>
- display "Failure to provide parameter to m_DoServ"
- err
- endif
- ifidni <rList>, <ServInt> ;true only on last pass
- mov ah, ServNum
- int ServInt
- endif
- endm
- endm
-
- m_WhereRC macro page
- ;BH register is destroyed.
- ;DX returns cursor RC.
- ifb <PAGE>
- display "Page number must be given."
- err
- endif
- mov bh, Page
- m_DoServ <snGetCur>, <sVideo>
- endm
-
- m_RetData macro AddrParam, Register
- ;For use with procedures using the stack to pass parameters such as
- ;Turbo Pascal. ES and DI registers are destroyed. Only a single byte
- ;or word sized value can be returned with this macro.
- irp rList, < <AddrParam>, <Register> >
- ifb <rList>
- display "Failure to provide parameter to m_RetData"
- err
- endif
- ifidni <rList>, <Register> ;true only on last pass
- les di, [bp + AddrParam] ;Get address into ES:DI and
- mov [es:di], Register ;put it where the pointer pointed.
- endif
- endm
- endm
-